Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLOUDSTACK-4858 Honors the snapshot.backup.rightafter configuration v… #1697

Merged

Conversation

nathanejohnson
Copy link
Member

…ariable

Unhides snapshot.backup.rightafter from global configuration

If snapshot.backup.rightafter is set to false (defaults to true), snapshots are
not backed up to secondary storage.

This is the same as PR #1644 applied to 4.9, as per @jburwell

…ariable

Unhides snapshot.backup.rightafter from global configuration

If snapshot.backup.rightafter is set to false (defaults to true), snapshots are
not backed up to secondary storage
@nathanejohnson
Copy link
Member Author

@jburwell @kiwiflyer @bvbharatk This is the new PR, I will post test results soon.

@nathanejohnson
Copy link
Member Author

Here are results running the following tests:

component/test_snapshots.py component/test_snapshots_improvement.py component/test_snapshot_gc.py component/test_snapshot_limits.py

on a KVM host using Ceph as primary and NFS as secondary:

https://gist.github.com/nathanejohnson/38805b23a67d512e5051a0390ca5294c

The failures look to be what you would expect, complaining mostly about snapshots not being backed up to secondary when that's precisely the behavior we're after.

@jburwell
Copy link
Contributor

@nathanejohnson we making a hard push on #1692 to get all of the smoke tests to be super green. Once that PR is merged up, we will rebase and re-test this PR and there will be no more expected/"good" failures.

@nathanejohnson
Copy link
Member Author

@syed This is the PR we discussed on the call today.

Copy link
Contributor

@syed syed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM based on the code review. In the future, we can replace the global with the API parameter.

@@ -374,8 +375,24 @@ public SnapshotInfo takeSnapshot(SnapshotInfo snapshot) {

snapshot = result.getSnashot();
DataStore primaryStore = snapshot.getDataStore();
boolean backupFlag = Boolean.parseBoolean(configDao.getValue(Config.BackupSnapshotAfterTakingSnapshot.toString()));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nathanejohnson in #1600 I've added a flag to the create snapshot API called locationType which can take primary or secondary as the parameter. We could use that here as well. Although for this PR, a global would suffice

@rohityadavcloud
Copy link
Member

@blueorangutan package

@blueorangutan
Copy link

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@blueorangutan
Copy link

Packaging result: ✖centos6 ✖centos7 ✖debian. JID-137

@nathanejohnson
Copy link
Member Author

@blueorangutan could you send logs? I just verified that I could build a centos 7 rpm from this branch, can't reproduce the failure.

Thanks!

@rohityadavcloud
Copy link
Member

Looks like intermittent build issue, I'll re-fire builds.
@blueorangutan package

@blueorangutan
Copy link

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@blueorangutan
Copy link

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-141

@rohityadavcloud
Copy link
Member

@blueorangutan test

@blueorangutan
Copy link

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan
Copy link

Trillian test result (tid-290)
Environment: vmware-55u3 (x2), Advanced Networking with Mgmt server 7
Total time taken: 36987 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr1697-t290-vmware-55u3.zip
Test completed. 45 look ok, 3 have error(s)

Test Result Time (s) Test File
test_01_vpc_site2site_vpn Error 506.04 test_vpc_vpn.py
ContextSuite context=TestRVPCSite2SiteVpn>:setup Error 0.00 test_vpc_vpn.py
ContextSuite context=TestVPCRedundancy>:teardown Error 737.80 test_vpc_redundant.py
test_04_rvpc_privategw_static_routes Error 1133.45 test_privategw_acl.py
test_01_vpc_remote_access_vpn Success 171.27 test_vpc_vpn.py
test_02_VPC_default_routes Success 377.16 test_vpc_router_nics.py
test_01_VPC_nics_after_destroy Success 740.29 test_vpc_router_nics.py
test_05_rvpc_multi_tiers Success 732.72 test_vpc_redundant.py
test_04_rvpc_network_garbage_collector_nics Success 1582.80 test_vpc_redundant.py
test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers Success 887.91 test_vpc_redundant.py
test_02_redundant_VPC_default_routes Success 717.44 test_vpc_redundant.py
test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL Success 1382.11 test_vpc_redundant.py
test_09_delete_detached_volume Success 30.86 test_volumes.py
test_06_download_detached_volume Success 55.42 test_volumes.py
test_05_detach_volume Success 105.26 test_volumes.py
test_04_delete_attached_volume Success 10.15 test_volumes.py
test_03_download_attached_volume Success 20.24 test_volumes.py
test_02_attach_volume Success 59.34 test_volumes.py
test_01_create_volume Success 524.21 test_volumes.py
test_03_delete_vm_snapshots Success 275.31 test_vm_snapshots.py
test_02_revert_vm_snapshots Success 227.04 test_vm_snapshots.py
test_01_test_vm_volume_snapshot Success 311.74 test_vm_snapshots.py
test_01_create_vm_snapshots Success 167.21 test_vm_snapshots.py
test_deploy_vm_multiple Success 282.99 test_vm_life_cycle.py
test_deploy_vm Success 0.02 test_vm_life_cycle.py
test_advZoneVirtualRouter Success 0.02 test_vm_life_cycle.py
test_10_attachAndDetach_iso Success 46.82 test_vm_life_cycle.py
test_09_expunge_vm Success 125.17 test_vm_life_cycle.py
test_08_migrate_vm Success 80.82 test_vm_life_cycle.py
test_07_restore_vm Success 0.07 test_vm_life_cycle.py
test_06_destroy_vm Success 10.14 test_vm_life_cycle.py
test_03_reboot_vm Success 10.12 test_vm_life_cycle.py
test_02_start_vm Success 30.25 test_vm_life_cycle.py
test_01_stop_vm Success 10.12 test_vm_life_cycle.py
test_CreateTemplateWithDuplicateName Success 306.61 test_templates.py
test_08_list_system_templates Success 0.02 test_templates.py
test_07_list_public_templates Success 0.03 test_templates.py
test_05_template_permissions Success 0.04 test_templates.py
test_04_extract_template Success 20.25 test_templates.py
test_03_delete_template Success 5.08 test_templates.py
test_02_edit_template Success 90.08 test_templates.py
test_01_create_template Success 160.92 test_templates.py
test_10_destroy_cpvm Success 271.72 test_ssvm.py
test_09_destroy_ssvm Success 268.45 test_ssvm.py
test_08_reboot_cpvm Success 156.53 test_ssvm.py
test_07_reboot_ssvm Success 158.12 test_ssvm.py
test_06_stop_cpvm Success 176.56 test_ssvm.py
test_05_stop_ssvm Success 173.29 test_ssvm.py
test_04_cpvm_internals Success 1.05 test_ssvm.py
test_03_ssvm_internals Success 3.40 test_ssvm.py
test_02_list_cpvm_vm Success 0.09 test_ssvm.py
test_01_list_sec_storage_vm Success 0.11 test_ssvm.py
test_01_snapshot_root_disk Success 31.01 test_snapshots.py
test_04_change_offering_small Success 97.42 test_service_offerings.py
test_03_delete_service_offering Success 0.03 test_service_offerings.py
test_02_edit_service_offering Success 0.06 test_service_offerings.py
test_01_create_service_offering Success 0.08 test_service_offerings.py
test_02_sys_template_ready Success 0.09 test_secondary_storage.py
test_01_sys_vm_start Success 0.13 test_secondary_storage.py
test_09_reboot_router Success 155.80 test_routers.py
test_08_start_router Success 135.72 test_routers.py
test_07_stop_router Success 20.16 test_routers.py
test_06_router_advanced Success 0.04 test_routers.py
test_05_router_basic Success 0.03 test_routers.py
test_04_restart_network_wo_cleanup Success 5.56 test_routers.py
test_03_restart_network_cleanup Success 206.11 test_routers.py
test_02_router_internal_adv Success 0.90 test_routers.py
test_01_router_internal_basic Success 0.48 test_routers.py
test_router_dns_guestipquery Success 76.90 test_router_dns.py
test_router_dns_externalipquery Success 0.07 test_router_dns.py
test_router_dhcphosts Success 185.39 test_router_dhcphosts.py
test_01_updatevolumedetail Success 0.06 test_resource_detail.py
test_01_reset_vm_on_reboot Success 25.27 test_reset_vm_on_reboot.py
test_createRegion Success 0.03 test_regions.py
test_create_pvlan_network Success 5.17 test_pvlan.py
test_dedicatePublicIpRange Success 0.30 test_public_ip_range.py
test_03_vpc_privategw_restart_vpc_cleanup Success 1057.56 test_privategw_acl.py
test_02_vpc_privategw_static_routes Success 742.89 test_privategw_acl.py
test_01_vpc_privategw_acl Success 217.94 test_privategw_acl.py
test_01_primary_storage_nfs Success 38.15 test_primary_storage.py
test_createPortablePublicIPRange Success 15.14 test_portable_publicip.py
test_createPortablePublicIPAcquire Success 15.35 test_portable_publicip.py
test_isolate_network_password_server Success 93.90 test_password_server.py
test_UpdateStorageOverProvisioningFactor Success 0.10 test_over_provisioning.py
test_oobm_zchange_password Success 20.52 test_outofbandmanagement.py
test_oobm_multiple_mgmt_server_ownership Success 16.51 test_outofbandmanagement.py
test_oobm_issue_power_status Success 10.53 test_outofbandmanagement.py
test_oobm_issue_power_soft Success 15.51 test_outofbandmanagement.py
test_oobm_issue_power_reset Success 15.51 test_outofbandmanagement.py
test_oobm_issue_power_on Success 10.51 test_outofbandmanagement.py
test_oobm_issue_power_off Success 15.52 test_outofbandmanagement.py
test_oobm_issue_power_cycle Success 15.52 test_outofbandmanagement.py
test_oobm_enabledisable_across_clusterzones Success 57.34 test_outofbandmanagement.py
test_oobm_enable_feature_valid Success 5.15 test_outofbandmanagement.py
test_oobm_enable_feature_invalid Success 0.09 test_outofbandmanagement.py
test_oobm_disable_feature_valid Success 0.13 test_outofbandmanagement.py
test_oobm_disable_feature_invalid Success 0.12 test_outofbandmanagement.py
test_oobm_configure_invalid_driver Success 0.07 test_outofbandmanagement.py
test_oobm_configure_default_driver Success 0.08 test_outofbandmanagement.py
test_oobm_background_powerstate_sync Success 29.77 test_outofbandmanagement.py
test_extendPhysicalNetworkVlan Success 15.27 test_non_contigiousvlan.py
test_01_nic Success 721.03 test_nic.py
test_releaseIP Success 273.21 test_network.py
test_reboot_router Success 689.79 test_network.py
test_public_ip_user_account Success 10.18 test_network.py
test_public_ip_admin_account Success 40.24 test_network.py
test_network_rules_acquired_public_ip_3_Load_Balancer_Rule Success 76.52 test_network.py
test_network_rules_acquired_public_ip_2_nat_rule Success 61.35 test_network.py
test_network_rules_acquired_public_ip_1_static_nat_rule Success 125.14 test_network.py
test_delete_account Success 258.06 test_network.py
test_02_port_fwd_on_non_src_nat Success 55.58 test_network.py
test_01_port_fwd_on_src_nat Success 111.68 test_network.py
test_nic_secondaryip_add_remove Success 202.50 test_multipleips_per_nic.py
login_test_saml_user Success 21.25 test_login.py
test_assign_and_removal_lb Success 148.25 test_loadbalance.py
test_02_create_lb_rule_non_nat Success 207.23 test_loadbalance.py
test_01_create_lb_rule_src_nat Success 207.78 test_loadbalance.py
test_03_list_snapshots Success 0.06 test_list_ids_parameter.py
test_02_list_templates Success 0.03 test_list_ids_parameter.py
test_01_list_volumes Success 0.03 test_list_ids_parameter.py
test_07_list_default_iso Success 0.04 test_iso.py
test_05_iso_permissions Success 0.04 test_iso.py
test_04_extract_Iso Success 5.11 test_iso.py
test_03_delete_iso Success 95.14 test_iso.py
test_02_edit_iso Success 0.04 test_iso.py
test_01_create_iso Success 21.24 test_iso.py
test_04_rvpc_internallb_haproxy_stats_on_all_interfaces Success 564.56 test_internal_lb.py
test_03_vpc_internallb_haproxy_stats_on_all_interfaces Success 454.36 test_internal_lb.py
test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 Success 1027.34 test_internal_lb.py
test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 Success 807.15 test_internal_lb.py
test_dedicateGuestVlanRange Success 10.20 test_guest_vlan_range.py
test_UpdateConfigParamWithScope Success 0.10 test_global_settings.py
test_rolepermission_lifecycle_update Success 6.62 test_dynamicroles.py
test_rolepermission_lifecycle_list Success 6.22 test_dynamicroles.py
test_rolepermission_lifecycle_delete Success 6.13 test_dynamicroles.py
test_rolepermission_lifecycle_create Success 6.14 test_dynamicroles.py
test_rolepermission_lifecycle_concurrent_updates Success 6.24 test_dynamicroles.py
test_role_lifecycle_update_role_inuse Success 6.17 test_dynamicroles.py
test_role_lifecycle_update Success 11.23 test_dynamicroles.py
test_role_lifecycle_list Success 6.25 test_dynamicroles.py
test_role_lifecycle_delete Success 11.19 test_dynamicroles.py
test_role_lifecycle_create Success 6.15 test_dynamicroles.py
test_role_inuse_deletion Success 6.13 test_dynamicroles.py
test_role_account_acls_multiple_mgmt_servers Success 7.48 test_dynamicroles.py
test_role_account_acls Success 7.78 test_dynamicroles.py
test_default_role_deletion Success 6.22 test_dynamicroles.py
test_04_create_fat_type_disk_offering Success 0.05 test_disk_offerings.py
test_03_delete_disk_offering Success 0.03 test_disk_offerings.py
test_02_edit_disk_offering Success 0.04 test_disk_offerings.py
test_02_create_sparse_type_disk_offering Success 0.05 test_disk_offerings.py
test_01_create_disk_offering Success 0.07 test_disk_offerings.py
test_deployvm_userdispersing Success 55.55 test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userconcentrated Success 90.84 test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_firstfit Success 216.20 test_deploy_vms_with_varied_deploymentplanners.py
test_deployvm_userdata_post Success 25.43 test_deploy_vm_with_userdata.py
test_deployvm_userdata Success 196.22 test_deploy_vm_with_userdata.py
test_02_deploy_vm_root_resize Success 6.16 test_deploy_vm_root_resize.py
test_01_deploy_vm_root_resize Success 6.24 test_deploy_vm_root_resize.py
test_00_deploy_vm_root_resize Success 6.21 test_deploy_vm_root_resize.py
test_deploy_vm_from_iso Success 217.39 test_deploy_vm_iso.py
test_DeployVmAntiAffinityGroup Success 261.67 test_affinity_groups.py
test_08_resize_volume Skipped 5.08 test_volumes.py
test_07_resize_fail Skipped 15.23 test_volumes.py
test_06_copy_template Skipped 0.00 test_templates.py
test_static_role_account_acls Skipped 0.02 test_staticroles.py
test_01_scale_vm Skipped 66.47 test_scale_vm.py
test_01_primary_storage_iscsi Skipped 0.03 test_primary_storage.py
test_06_copy_iso Skipped 0.00 test_iso.py
test_deploy_vgpu_enabled_vm Skipped 0.00 test_deploy_vgpu_enabled_vm.py

@rohityadavcloud
Copy link
Member

@blueorangutan package

@blueorangutan
Copy link

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@blueorangutan
Copy link

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-200

@remibergsma
Copy link
Contributor

LGTM Tested it, works as expected! Was confused a bit, but it works fine on KVM. It seems XenserverSnapshotStrategy is also used to handle KVM snapshots.

@karuturi
Copy link
Member

karuturi commented Feb 8, 2017

merging this to 4.9+ branches

@karuturi
Copy link
Member

karuturi commented Feb 8, 2017

@nathanejohnson @kiwiflyer There were some conflicts while merging to master. I went ahead and resolved as they are minor conflicts. Please verify that everything is fine on master.

asfgit pushed a commit that referenced this pull request Feb 8, 2017
…p_rightafter

CLOUDSTACK-4858 Honors the snapshot.backup.rightafter configuration variable

Unhides snapshot.backup.rightafter from global configuration

If snapshot.backup.rightafter is set to false (defaults to true), snapshots are
not backed up to secondary storage.

This is the same as PR #1644 applied to 4.9, as per @jburwell

* pr/1697:
  CLOUDSTACK-4858 Honors the snapshot.backup.rightafter configuration variable Unhides snapshot.backup.rightafter from global configuration

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
@asfgit asfgit merged commit 1a55a93 into apache:4.9 Feb 8, 2017
@nathanejohnson
Copy link
Member Author

@karuturi do you happen to remember which files conflicted? I seem to remember
VolumeOrchestrator.java having some changes in master that weren't in 4.9. I've looked over all of the files that were touched in this PR and it all looks good to me. Thanks for merging this!

@karuturi
Copy link
Member

karuturi commented Feb 9, 2017

I think the conflicts were on VolumeOrchestrator.java and TemplateManagerImplTest.java

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants